rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
↳ QTRS
↳ DependencyPairsProof
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
REV22(x, cons2(y, l)) -> REV22(y, l)
REV1(cons2(x, l)) -> REV22(x, l)
REV1(cons2(x, l)) -> REV12(x, l)
REV12(x, cons2(y, l)) -> REV12(y, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
REV22(x, cons2(y, l)) -> REV22(y, l)
REV1(cons2(x, l)) -> REV22(x, l)
REV1(cons2(x, l)) -> REV12(x, l)
REV12(x, cons2(y, l)) -> REV12(y, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
REV12(x, cons2(y, l)) -> REV12(y, l)
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REV12(x, cons2(y, l)) -> REV12(y, l)
POL(REV12(x1, x2)) = x2
POL(cons2(x1, x2)) = 1 + x2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
REV22(x, cons2(y, l)) -> REV22(y, l)
REV1(cons2(x, l)) -> REV22(x, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
REV22(x, cons2(y, l)) -> REV22(y, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
Used ordering: Polynomial interpretation [21]:
REV1(cons2(x, l)) -> REV22(x, l)
POL(0) = 0
POL(REV1(x1)) = x1
POL(REV22(x1, x2)) = 1 + x1 + x2
POL(cons2(x1, x2)) = 1 + x1 + x2
POL(nil) = 1
POL(rev1(x1)) = x1
POL(rev12(x1, x2)) = 0
POL(rev22(x1, x2)) = x1 + x2
POL(s1(x1)) = 0
rev22(x, nil) -> nil
rev12(s1(x), nil) -> s1(x)
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
rev12(x, cons2(y, l)) -> rev12(y, l)
rev12(0, nil) -> 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
REV1(cons2(x, l)) -> REV22(x, l)
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))